/*
 * Copyright (c) 2025 Industrial Software Feature Database
 */
package com.comac.ins.isfd.mapper;

import com.comac.ins.common.mybatis.core.mapper.BaseMapperPlus;
import com.comac.ins.isfd.domain.IsfdDatabaseDataImportRecord;
import com.comac.ins.isfd.domain.IsfdDatabaseDataImportSubRecord;
import com.comac.ins.isfd.domain.IsfdDatabaseTypeManagement;
import com.comac.ins.isfd.domain.vo.IsfdBusinessDatabaseRefVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface IsfdStatisticalAnalysisMapper extends BaseMapperPlus {
    List<IsfdBusinessDatabaseRefVo>  selectDataBaseRefByDataBaseId(@Param("dataBaseId") Long dataBaseId);

    List<IsfdBusinessDatabaseRefVo> selectListByScenarioId(@Param("scenarioId") Long scenarioId,@Param("systemId") Long systemId);

    List<IsfdDatabaseTypeManagement>selectThreedDataBaseList();

    List<IsfdDatabaseTypeManagement>selectListByTopId(@Param("topId") Long topId);

    List<IsfdBusinessDatabaseRefVo> selectDataBaseRefByIds(@Param("ids") List<Long> ids,@Param("scenarioId") Long scenarioId);

    List<IsfdDatabaseDataImportRecord>getRecordsByDate(@Param("modelId") Long modelId, @Param("dataBaseId") Long dataBaseId, @Param("startDate") String startDate, @Param("endDate") String endDate);

    List<IsfdDatabaseDataImportRecord> getRecordsScenarioId(@Param("scenarioId") Long scenarioId,@Param("systemId") Long systemId,@Param("importMethod") String importMethod);

    List<IsfdDatabaseDataImportRecord> getRecords(@Param("scenarioId") Long scenarioId,@Param("dataBaseId") Long dataBaseId);

    List<IsfdDatabaseDataImportSubRecord> getSubRecords(@Param("importRecordId") Long importRecordId);

    List<IsfdDatabaseDataImportRecord>getRecordsByModel(@Param("modelId") Long modelId);
}
